<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // JSON.stringify() 把对象转化成josn格式的字符串
        // JSON.parse() 再给转回来

        // 数组方法 
        // arr.forEach(function(item,index,arr){}) 
        // arr.reverse() 反转数组
        // arr.slice() 截取数组
        // arr.indexOf arr.lastIndexOf()
        // arr.includes()
        // Arr.isArray() 判断是否是数组

        // arr.spct(function(a,b){
        // return a - b;
        // })

        // 字符串方法
        // 有索引 有长度
        // str[i];
        // str.charAt()
        // str.charCodeAt()
        // str.slice()
        // str.substr()
        // str.indexOf()
        // str.toUpperCase()
        // str.concat()

        // this的指向
        // this 指向调用者
        // 构造函数中的 this  指向new 出来的 实例对象

        // 作用域 / 变量的查找规则

        // 全局变量: 页面任意地方使用
        // 局部变量: 函数体内部使用

        // 先从自身作用域查找, 找到了就使用, 找不到 向上一级作用域查找, 如果找到全局作用域, 都没有 就报错

        // 声明提升
        // 预解析的阶段 会将所有 用 var 声明的的变量 提升到该作用域的最前边
        // 通过function 关键字声明的具名的函数 也会提升到所在作用域的最前边
    </script>
</body>

</html>